{extend name="layout" /}


{block name="title"}
<title>自定义查询 - thinkPHP极速后台开发</title>
<meta name="title" content="自定义查询 - thinkPHP极速后台开发">
<meta name="keywords" content="自定义查询,php,后台开发包，thinkphp、easyadmin、admin,easy,thinkeasyadmin">
<meta name="description" content="自定义查询,自己定义查询语句;easyadmin灵活可定制的thinkphp的后台开发工具包,助你快速开发后台">
{/block}

{block name="main"}


<fieldset id="join" class="layui-elem-field">
    <legend>自定义查询</legend>
    <div class="layui-field-box">
        <p>系统拆分了几个查询语句,可根据自己的业务或者使用习惯选择性的使用</p>
        <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;


use easyadmin\app\libs\Page;
use easyadmin\app\libs\PageList;
use think\db\Query;

class Category extends Admin
{

    /**
     * 配置查询语句, 懒得写其他的,都可以在这里实现自定义查询
     * @param Page $page
     * @param Query $query
     * @param $alias
     */
    protected function configListQuery(Page $page, Query $query, $alias)
    {
        // $query->order()
        // $query->group()
        // 更多TP 的查询方法
    }

    /**
     * 配置查询条件 一般配置 join 查询
     * @param Page $page
     * @param Query $query
     * @param string $alias
     */
    protected function configListJoin(Page $page, Query $query, string $alias)
    {
        // $query->order()
        // $query->group()
        // 更多TP 的查询方法
    }

    /**
     * 配置查询语句, 一般是设置查询条件
     * @param Page $page
     * @param Query $query
     * @param $alias
     */
    protected function configListWhere(Page $page, Query $query, $alias)
    {
        // $query->order()
        // $query->group()
        // 更多TP 的查询方法
    }

    /**
     * list 的全局配置, 基本上所有开放的接口都可以这这里设置获取
     * @param PageList $page
     */
    protected function configList(PageList $page)
    {
        //$page->setOrderBy(['id'=>'desc'])
        //$page->getBreadcrumb()->add();
        //$page->setTemplate()
        //代码中输入 $page-> 查看详细
    }

}
</pre>
        <blockquote class="layui-elem-quote">
            开放这些接口,可以做简单的细化和语义化; 但其实都是一样的.  可以根据自己的喜好进行选择
        </blockquote>
    </div>
</fieldset>

{/block}


